Programmable logic controllers (PLCs) are special data processors that are often used as controllers for machines in industrial processes. A PLC is typically programmed with a sequential program for controlling a machine, such as a pressing or marking machine, that continuously repeats the same motions during, for example, an automated assembly process or other manufacturing process.
Each PLC operates under the control of a program stored in its memory. The program responds to input signals registered at the inputs of the PLC and controls an associated piece of machinery through output signals at the outputs of the PLC.
The program stored in the memory of the PLC and used by the PLC to control its operation is typically expressed in what is termed “ladder logic.” Each ladder logic program comprises one or more ladder logic statements. In the PLC art, these ladder logic statements are often termed “rungs.” Each ladder logic statement defines the relationship between an output variable and, in most cases, one or more input variables. Input variables include variables corresponding to the inputs of the PLC, and output variables include variables corresponding to the signals at the output terminals of the PLC. Ladder logic statements and programs are often expressed in terms of ladder logic graphs, such as shown and described in U.S. Pat. No. 5,237,652 to McManus, the entirety of which is hereby incorporated herein by reference.
Currently, at the design stage for a process, custom software is typically developed for each PLC used in the process. This software is typically written in the ladder logic format by a controls engineer, debugged, and then tested on the intended machinery. The machine and custom programmed PLC are then shipped to the customer where a maintenance person is trained to operate the machine, often with extensive training on the custom program and ladder logic programming generally.
This programming system and method suffer from several drawbacks. First, a programmer must be proficient in ladder logic programming in order to program the PLC to operate a piece of machinery. This programmer must, therefore, also be proficient in ladder logic programming in order to debug the program and identify the cause of malfunctions during operation of the machine controlled by the PLC. Also, even slight changes in the operating parameters of the machine require development of a new control program for the PLC. This dependence upon familiarity with the ladder logic programming system leads to time consuming development and debugging of control programs by one having intimate knowledge of ladder logic programming. This dependence, in turn, also forces many businesses to specially order programmed PLCs and PLC controlled machinery and/or staff an employee familiar with ladder logic programming.
Therefore, there remains a need for an improved system for programming PLCs that provides for a simplified method of programming a PLC. Still further, there remains a need for a PLC which does not require complete reprogramming of the PLC to accommodate changes in the operating parameters of a controlled piece of machinery.